import Vue from 'vue';
import Router from 'vue-router';
import Home from '../views/home/home.vue';

import test from '../views/test.vue';

import recommend from '../views/recommend.vue';
import following from '../views/following.vue';
import browseRecords from '../views/browse_records.vue';
import myLikes from '../views/my_likes.vue';
import games from '../views/games.vue';
import screenshots from '../views/screenshots.vue';
import works from '../views/works.vue';
import works2 from '../views/works2.vue';

import myCollection from '../views/usercenter/myCollection.vue';

import aboutLayout from '../views/about/layout.vue';
import aboutUs from '../views/about/about_us.vue';
import businessCooperation from '../views/about/business_cooperation.vue';
import copyrightNote from '../views/about/copyright_note.vue';
import contactUs from '../views/about/contact_us.vue';
import userAgreement from '../views/about/user_agreement.vue';

import shortVideo from '../views/shortVideo/index.vue';

import publishGame from '../views/publish/game.vue';
import publishWork from '../views/publish/work.vue';
import publishVideo from '../views/publish/video.vue';
import publishArticle from '../views/publish/article.vue';
import publishManage from '../views/publish/manage.vue';
import fans from '../views/publish/fans.vue';

import setLayout from '../views/usercenter/setLayout.vue';
import personalData from '../views/usercenter/personal_data.vue';
import accountSet from '../views/usercenter/account_set.vue';
import passwordSet from '../views/usercenter/password_set.vue';

import uhome from '../views/usercenter/home/index.vue';

import exclusiveSetting from '../views/exclusiveSetting/index.vue';

import searchs from '../views/searchs.vue';

import searchByImageList from '@/views/search_by_image_result'

import articles from '@/views/articles'
import articles2 from '@/views/articles2'

import gameInfo from '@/views/info/game'

import workInfo from '@/views/info/work'

import articleInfo from '@/views/info/article'

import imgInfo from '@/views/info/img'

import collectImgs from '@/views/usercenter/collect/imgList'
import collectGames from '@/views/usercenter/collect/gameList'
import collectVideos from '@/views/usercenter/collect/videoList'


import recruit from '@/views/recruit'
import myRecruit from '@/views/myRecruit'
import rank from '@/views/rank'
import Web404 from '@/views/404'

import Home2 from '../views/home/index.vue';
Vue.use(Router);
// 路由数组
const routes = [
	{
		name:"test",
		path:'/test',
		component:test,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-测试页'
		}
	},
	{
		name:"404",
		path:'*',
		component:Web404,
		meta:{
			title:'网页不存在'
		}
	},
	{
		name:"Home",
		path:'/',
		component:Home2,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区'
		}
	},
	{
		name:"Home",
		path:'/index.html',
		component:Home2,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区'
		}
	},
	{
		name:"rank",
		path:'/rank',
		component:rank,
		meta:{
			keepAlive:true,
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-排行榜'
		}
	},
	{
		name:"recruit",
		path:'/recruit',
		component:recruit,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-职位'
		}
	},
	{
		name:"myRecruit",
		path:'/myRecruit',
		component:myRecruit,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-我发布的职位'
		}
	},
	{
		name:"myCollectionImgs",
		path:'/collection/imgs/:fid',
		component:collectImgs,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区'
		}
	},
	{
		name:"myCollectionGames",
		path:'/collection/games/:fid',
		component:collectGames,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区'
		}
	},
	{
		name:"myCollectionVideos",
		path:'/collection/videos/:fid',
		component:collectVideos,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区'
		}
	},
	{
		name:"imgv",
		path:'/imgv/:id',
		component:imgInfo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-截图详情'
		}
	},
	{
		name:"imgv",
		path:'/imgview',
		component:imgInfo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-截图详情'
		}
	},
	{
		name:"game",
		path:'/game/:id',
		component:gameInfo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-游戏详情'
		}
	},
	{
		name:"game",
		path:'/inspirationInfo/:id',
		component:gameInfo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-游戏详情'
		}
	},
	{
		name:"work",
		path:'/work/:id',
		component:workInfo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-作品详情'
		}
	},
	{
		name:"article",
		path:'/article/:id',
		component:articleInfo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-文章详情'
		}
	},
	{
		name:"article",
		path:'/articleDetails/:id',
		component:articleInfo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-文章详情'
		}
	},
	{
		name:"searchByImageList",
		path:'/searchByImageList',
		component:searchByImageList,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-以图搜图结果'
		}
	},
	{
		name:"articles",
		path:'/articles',
		component:articles2,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-文章'
		}
	},
	{
		name:"searchs",
		path:'/searchs',
		component:searchs,
		meta:{
			keepAlive:true,
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-搜索结果'
		}
	},
	{
		name:"exclusiveSetting",
		path:'/exclusiveSetting',
		component:exclusiveSetting,
		meta:{
			keepAlive:true,
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-关注专属设置'
		}
	},
	{
		name:"user",
		path:'/user/:id',
		component:uhome,
		meta:{
			keepAlive:true,
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-个人主页'
		}
	},
	{
		name:"personal",
		component:setLayout,
		path:'/personal',
		children:[
			{
				name:"personalData",
				path:'/personal/personalData',
				component:personalData,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-个人设置-个人资料'
				}
			},
			{
				name:"accountSet",
				path:'/personal/accountSet',
				component:accountSet,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-个人设置-账号设置'
				}
			},
			{
				name:"passwordSet",
				path:'/personal/passwordSet',
				component:passwordSet,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-个人设置-密码设置'
				}
			}
		]
	},
	{
		name:"publishGame",
		path:'/publish/publishGame/:id?',
		component:publishGame,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-上传游戏'
		}
	},{
		name:"publishWork",
		path:'/publish/publishWork/:id?',
		component:publishWork,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-发布作品'
		}
	},
	{
		name:"publishVideo",
		path:'/publish/publishVideo/:id?',
		component:publishVideo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-发布短视频'
		}
	},
	{
		name:"publishArticle",
		path:'/publish/publishArticle/:id?',
		component:publishArticle,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-写文章'
		}
	},
	{
		name:"myCollection",
		path:'/myCollection',
		component:myCollection,
		meta:{
			keepAlive:true,
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-我的收藏'
		}
	},
	{
		name:"publishManage",
		path:'/publish/publishManage',
		component:publishManage,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-发布管理'
		}
	},
	{
		name:"publishFans",
		path:'/publish/publishFans',
		component:fans,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-粉丝管理'
		}
	},
	{
		name:"shortVideo",
		path:'/shortVideo',
		component:shortVideo,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-短视频'
		}
	},
	{
		path:'/about',
		component:aboutLayout,
		children:[
			{
				name:"aboutUs",
				path:'/about/aboutUs',
				component:aboutUs,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-关于我们'
				}
			},{
				name:"businessCooperation",
				path:'/about/businessCooperation',
				component:businessCooperation,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-商务合作'
				}
			},
			{
				name:"copyrightNote",
				path:'/about/copyrightNote',
				component:copyrightNote,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-版权说明'
				}
			},
			{
				name:"contactUs",
				path:'/about/contactUs',
				component:contactUs,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-联系我们'
				}
			},
			{
				name:"useragreement",
				path:'/about/useragreement',
				component:userAgreement,
				meta:{
					title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-用户协议'
				}
			}
		]
	},
	{
		name:"recommend",
		path:'/recommend',
		component:recommend,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-为你打造'
		}
	},
	{
		name:"works",
		path:'/works',
		component:works2,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-作品主页'
		}
	},
	{
		name:"screenshots",
		path:'/screenshots',
		component:games,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-截图'
		}
	},
	{
		name:"games",
		path:'/games',
		component:games,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-游戏'
		}
	},
	{
		name:"games",
		path:'/inspiration',
		component:games,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-游戏'
		}
	},
	{
		name:"following",
		path:'/following',
		component:following,
		meta:{
			keepAlive:true,
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-我的关注'
		}
	},
	{
		name:"likes",
		path:'/likes',
		component:myLikes,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-我的喜欢'
		}
	},
	{
		name:"browseRecords",
		path:'/browseRecords',
		component:browseRecords,
		meta:{
			title:'GameUI.net - 专业的游戏UI设计师学习交流平台 | 游戏界面设计分享社区-浏览记录'
		}
	}
];
// mode:'history',

const routerPush = Router.prototype.replace
Router.prototype.replace = function replace(location){
	return routerPush.call(this,location).catch(error=>error)
}


const router = new Router({
	mode:'history',
	el:'#app',
	routes
});

export default router;
